﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Crosland.Automotriz.Core;
using System.Data.SqlClient;
namespace Crosland.Automotriz.Data.Dao.Linq
{
    public class clsT_Ven_Gestion_RegistroDAO
    {
        private AutomotrizEntities ContextoDeObjs = new AutomotrizEntities();



        public bool insertar(int nro_factura, string fecha_entrega_cmp, string FEC_ENTREGA_TITULO, string FEC_ENTREGA_POLIZA, string NIF_REPRESENTANTE, string NOM_REPRESENTANTE, string NRO_PARTIDA, string NRO_ASIENTO)
        {

            try
            {
                ContextoDeObjs.ExecuteStoreCommand(String.Format("INSERT INTO T_VEN_GESTION_REGISTRO ([NRO_FACTURA],[FEC_ENTREGA_CMP],[FEC_ENTREGA_TITULO],[FEC_ENTREGA_POLIZA],[NIF_REPRESENTANTE],[NOM_REPRESENTANTE],[NRO_PARTIDA],[NRO_ASIENTO]) VALUES (" + nro_factura + ",{0},{1},{2},'" + NIF_REPRESENTANTE + "','" + NOM_REPRESENTANTE + "','" + NRO_PARTIDA + "','" + NRO_ASIENTO + "')",
                    (fecha_entrega_cmp==null ? "DEFAULT":"'" + Convert.ToDateTime(fecha_entrega_cmp).ToString("yyyy/MM/dd") + "'"),
                    (FEC_ENTREGA_TITULO==null ? "DEFAULT":"'" +Convert.ToDateTime((FEC_ENTREGA_TITULO)).ToString("yyyy/MM/dd") + "'"),
                    (FEC_ENTREGA_POLIZA==null ? "DEFAULT":"'" + Convert.ToDateTime(FEC_ENTREGA_POLIZA).ToString("yyyy/MM/dd") + "'")));
                return true;
            }
            catch (SqlException ex)
            {
                Globales.msjSql = string.Empty;
                Globales.msjSql = ex.Message;
                return false;
            }
            catch 
            {
                return false;
            }

        }

        public bool Modificar(int nro_factura, string fecha_entrega_cmp, string FEC_ENTREGA_TITULO, string FEC_ENTREGA_POLIZA, string NIF_REPRESENTANTE, string NOM_REPRESENTANTE, string NRO_PARTIDA, string NRO_ASIENTO)
        {

            try
            {
                ContextoDeObjs.ExecuteStoreCommand(String.Format("UPDATE T_VEN_GESTION_REGISTRO SET FEC_ENTREGA_CMP={0},FEC_ENTREGA_TITULO={1},FEC_ENTREGA_POLIZA={2},NIF_REPRESENTANTE='" + NIF_REPRESENTANTE + "',NOM_REPRESENTANTE='" + NOM_REPRESENTANTE + "',NRO_PARTIDA='" + NRO_PARTIDA + "',NRO_ASIENTO='" + NRO_ASIENTO + "' WHERE NRO_FACTURA=" + nro_factura, (fecha_entrega_cmp == null ? "DEFAULT" : "'" + Convert.ToDateTime(fecha_entrega_cmp).ToString("yyyy/MM/dd") + "'"), (FEC_ENTREGA_TITULO == null ? "DEFAULT" : "'" + Convert.ToDateTime((FEC_ENTREGA_TITULO)).ToString("yyyy/MM/dd") + "'"), (FEC_ENTREGA_POLIZA == null ? "DEFAULT" : "'" + Convert.ToDateTime(FEC_ENTREGA_POLIZA).ToString("yyyy/MM/dd") + "'")));
                return true;
            }
                catch(SqlException  ex){
                    Globales.msjSql = string.Empty;
                     Globales.msjSql = ex.Message;
                     return false;
                }
            catch (Exception)
            {
                
                return false;
            }
       
       }


        //public bool Modificar(T_VEN_GESTION_REGISTRO obj)
        //{
        //    try
        //    {
        //        ContextoDeObjs.AttachTo("T_VEN_GESTION_REGISTRO", obj);
        //        ContextoDeObjs.ObjectStateManager.ChangeObjectState(obj, System.Data.EntityState.Modified);
        //        ContextoDeObjs.SaveChanges();
        //    }
        //    catch (Exception)
        //    {
        //        return false;

        //    }
        //    return true;
        //}

       

        public int BuscarExistentes(int nro_factura)
        {

            
            int nrofactura = 0;
            try
            {

                var q = (from v in ContextoDeObjs.T_VEN_GESTION_REGISTRO
                        where v.NRO_FACTURA == nro_factura
                        select v);
                nrofactura = q.Count();
            }
            catch 
            {}

            return nrofactura;

        
        }

    }
}
